package com.nancy.java_design.bridge.demo1;

/**
 * 桥接模式
 * 桥接模式：将抽象部分与实现部分分离，使它们都可以独立的变化。
 * 桥接模式是一种结构型设计模式，它包含一个抽象和一个实现两个角色。
 * 抽象角色：定义抽象类，并实现业务方法。
 * 实现角色：定义抽象类的子类，实现业务方法。
 * 优点：分离抽象接口及其实现部分，提高了系统的可移植性和可维护性。
 * 缺点：增加了系统的理解与设计难度，且在运行时进行绑定。
 * 应用场景：当一个类存在两个独立变化的维度，且这两个维度都需要进行扩展时。
 * 示例：操作系统
 */
public abstract class OperatingSystem {
    protected VideoFile videoFile;

    OperatingSystem(VideoFile videoFile) {
        this.videoFile = videoFile;
    }

    public abstract void play(String fileName);
}
